
extern choose   ; extern 声明本文件外的函数
                ; int choose(int a, int b)

[section .data] ; 数据段

num1st      dd 3
num2nd      dd 4

[section .text] ; 代码段

global _start   ; 导出入口点，以便链接器识别
global myprint  ; 导出这个函数，便于让 c 调用

_start:
    ; 调用 choose(num1st, num2nd)
    push    dword [num2nd]
    push    dword [num1st]
    call    choose
    add     esp, 8

    mov     ebx, 0
    mov     eax, 1      ; sys_write
    int     0x80        ; 系统调用

; void myprint(char* msg, int len)
myprint:
    mov     edx, [esp + 8]      ; len
    mov     ecx, [esp + 4]      ; msg
    mov     ebx, 1
    mov     eax, 4              ; sys_write
    int     0x80                ; 系统调用
    ret


